モジュール詳細:暗号化モールス信号

いいね、モールス信号モジュール!ちょっと待って、HNWLIREAKHIってどういう意味?

  • このモジュールには、2つのうち1つを送信するモールス信号がある。それらは暗号化されたメッセージ(オレンジ色の光)またはキー(青色の光)である。 処理担当者はモールス信号の横にあるノブを使用して、どちらを受信するか選択することができる。
  • また、42桁の二進数(シーケンスA)を表示する二進数ディスプレーもある。
  • 処理担当者は、いつでもモジュール中央の小さなリセットボタンを押すことができる。これを押すと、入力した文字をすべて消去し、送信を最初からやり直すことができる。
  • また、モールス信号に接続しているワイヤを押して、モールス信号の無効化/有効化を行うことができる。

ステップ1:シーケンスBの生成

シリアルナンバーのそれぞれの文字に対し、以下のルールで7桁の二進数を生成し、それらを連結して42桁の二進数とする。これがシーケンスBである。

  • 文字が数字の場合、7桁まで拡張した二進数を使用する。
    例: 2 = 0000010 、 5 = 0000101
  • 文字が母音の場合、1011001を使用する。
  • それ以外の場合、その文字がアルファベットでOより前に位置する場合、1100010を使用する。
  • それ以外の場合、1000100を使用する。

爆弾にあるバッテリーの数がポートの数と等しい場合、シーケンスBの前半部分を反転する。

ステップ2:二進数の復号

受信したメッセージのモールス符号(. か -)を繋げ、文字間のスペースを取り除く。それをシーケンスとして扱う。
そのシーケンスの各文字について、同じ位置にあるシーケンスAの二進数の数字をAとする。同じ位置にあるシーケンスBの二進数の数字をBとする。
その情報を次の表と合わせて、文字を解読する。「スペース」はモールス信号における文字間のスペースを指す。

二進数受信した文字
AB.-
00スペース-
01-.
10.-
11.スペース

復号されたモールス信号を解読し、中間結果を得る。
この中間結果のメッセージに複数の母音が含まれている場合、メッセージとキーの両方で、1文字目と5文字目、2文字目と8文字目を入れ替える。

ステップ3:アルファベットの復号

中間結果メッセージのそれぞれの文字について、

  • それと同じ位置にあるキーの文字を取得する。
  • メッセージの文字のアルファベット位置とキーの文字のアルファベット位置を合計する。(A=1, Z=26)
  • 結果が26より大きい場合、26を引く。
  • この結果をアルファベット上でその位置にある文字に変換する。

これで、完全に復号されたメッセージが手に入ったことになる。

ステップ4:応答

次の表から、送信すべき正しい応答を見つける。なお、スペースや句読点は読みやすくするために加えたものであり、メッセージと応答のどちらにも関係ない。

メッセージ応答メッセージ応答
"DETONATE""PLEASE NO""REMEMBER""SOUVENIR"
"READY NOW""CHEESECAKE""GREAT JOB""THANK YOU"
"WE’RE DEAD""SADFACE""SOLO THIS""I DARE YOU"
"SHE SELLS""SEA SHELLS""KEEP TALK""NO EXPLODE"

モジュールを解除するには、正しい応答をモールス信号に変換し、モジュール上の2つの大きなボタンで送信する。単語または文字の間のスペースは必要ない。間違ったモールス信号を送信すると、ミスが記録され、最初から送信をやり直さなければならない。

付録A:モールス信号と二進数変換

モールス信号一覧

1.短い点灯は点

2.長い点灯はダッシュ

3.文字間には長い休止

4.単語間には非常に長い休止。

数字二進数
00000000
10000001
20000010
30000011
40000100
50000101
60000110
70000111
80001000
90001001